import json

def parse_data() -> dict:
    """
    Берёт информацию из файла appinfo.json и возвращает его содержимое.
    
    Если в текущей директории appinfo.json нет, создаёт его и наполняет переменными, после чего предлагает пользователю заполнить его."""
    data = {}
    try:
        with open('appinfo.json', 'r') as f:
            data = json.load(f)
    except FileNotFoundError:
        # TODO: Сделать ввод параметров при первом запуске, сразу в командной строке
        data = {
            "login": {
                "api_id": "",
                "api_hash": "",
                "phone": "",
                "log_as": ""
            },

            "settings": {
                "chat_id": -1000,
                "sender_id": -1000,

                "model_filename": "saved_bigramm.pkl",
                "last_message_filename": "last_message.pkl",
                "timeout_filename": "timeout.pkl",

                "time_offset": 0,

                "time_dice_count": 2,
                "time_dice_type": 6,
                "timeout_begin": 0,
                "timeout_length": 0,
                "timeout_multiplier": 2,

                "begin_offset": 0,
            }
        }
        with open('appinfo.json', 'w') as out:
            json.dump(data, out, indent=4)
        raise FileNotFoundError("Файл appinfo.json не найден! В директории проекта был создан такой файл, просим его заполнить согласно README.")
    else:
        return data
